{"text_format":"1","workbook":"xlsx","n_sheets":10,"sheets":["Getting Started","Setup","Script","Results Data","Trace Data","Calc","Test Specs","Report","Version","Utils"],"not_rendered":{"charts":2,"images":2,"macros":1,"external_links":1,"defined_names":5,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Getting Started","index":0,"n_rows":304,"n_cols":1,"rows_kept":304,"cut":false,"hidden":false,"merged":[]}
["VIAVI Instrument Programming Tool - Getting Started"]
[]
["Note:  Option 847 must be installed on the test set for the VIP Tool™ to operate."]
["To purchase Option 847, please contact a VIAVI Solutions Radio Test Sales Expert with your model and serial number. "]
["Find your closest Radio Test Sales Expert"]
[]
["The VIP Tool™ provides a method to efficiently connect to a VIAVI instrument through an Ethernet socket and control the "]
[" instrument using remote commands entered into the Scripts worksheet to control and receive data from the instrument."]
["The commands can be placed in sequence to build an automated test routine."]
[]
["Warranties: The Viavi Instrument Programming Tool (“VIP Tool”) is provided “as-is.”  There are no warranties, either express,"]
["implied, contractual, or statutory with respect to the merchantability or fitness applicable to the VIP Tool.  The user agrees that no "]
["warranty has been expressed or implied by VIAVI and that the user understands that the VIP Tool is being  provided “as-is.”  The"]
["user hereby expressly waives any claim for incidental or consequential damages, including damages to connected equipment,"]
["from use of the VIP Tool."]
[]
["VIAVI VIP Tool License Agreement"]
[]
["Table of Contents"]
["Introduction to the VIP Tool"]
["The VIP Tool Ribbon"]
["The Embedded Worksheets"]
["The Report Worksheets"]
["The Setup Worksheet"]
["The Script Worksheet"]
["The Results Data Worksheet"]
["The Trace Data Worksheet"]
["Editing and Executing a Script"]
["VIP Tool Resources"]
["VIAVI RCI Document Resources"]
[]
["Introduction to the VIP Tool"]
["The VIP Tool provides a method to connect to and control a VIAVI instrument through a TCP/IP socket.  The VIP Tool allows the "]
["user to create and edit a script that can then be used to programmatically perform automated tasks with the instrument."]
[]
["A script consists of RCI commands, which control the instrument, and VIAVI Instrument Programming keywords that are used to "]
["control the flow and output of the script."]
[]
["The VIAVI Instrument Programming Language provides syntax that allows responses from the tool  to be sent and easily organized "]
["on a separate sheet within the VIP Tool workbook.  An additional output of the VIP Tool is an organized sheet of trace data "]
["generated by the instrument when it is queried for such data.  Trace data consists of the data that are used to create the various "]
["graphs displayed on the instrument such as Channel Analyzer, Oscilloscope, Distribution plots, etc."]
[]
["The VIP Tool currently supports operation with the VIAVI 3900 Series, 8800 Series and 3550 series of radio test sets."]
[]
["Back to Top"]
[]
["The VIP Tool Ribbon"]
["The VIP Tool Ribbon contains the controls for operating the VIP Tool.  The controls that appear on the ribbon are context"]
["specific,  depending on which VIP Tool sheet is selected for view.  For example, the Script sheet ribbon will contain all of the "]
["controls for creating, editing and debugging scripts.  The Setup sheet ribbon will contain controls for setting up a connection to the"]
[" instrument and for configuring paths to save and load various types of files.  A report sheet ribbon will contain controls for editing "]
["report sheets, such as showing and hiding tags, and for saving the report to PDF or CSV formats."]
[]
["Back to Top"]
[]
["The Embedded Worksheets"]
["The VIP Tool workbook contains of five embedded worksheets:"]
["1.  This Getting Started sheet."]
["2.  The Setup worksheet is used to configure the connection to the instrument and set paths for files"]
["3.  The Script worksheet is used for editing and debugging the script."]
["4.  The Results Data worksheet is used to monitor measurement data. "]
["5.  The Trace Data worksheet is used to store trace data returned from the instrument when a trace query command is executed."]
[]
["The Report Worksheets"]
["Unlike the embedded worksheets, Report worksheets are not write protected and can be freely edited, deleted and imported."]
["Report sheets are intended for two functions:  creating reports and reserving a sheet to perform Excel calculations used by the "]
["script.  When first downloaded, the VIP Tool worksheet contains two report reports sheets - one sheet is named 'Calc' and the"]
["other sheet is named 'Report'.  Other sheets can be imported using the Import XLS Sheet button on the Script sheet Tool Ribbon."]
[]
["Back to Top"]
[]
["The Setup Worksheet"]
["The Setup Worksheet provides the means to configure the connection setup, default paths for various files, and whether a saved "]
["PDF report opens immediately in a local PDF viewer or is saved in the background.  The title of test reports and which sheet"]
["will be saved as a report are also configured on the Setup Sheet."]
[]
["To configure the connection to an instrument, these steps must be followed:"]
[]
["1.  Select the instrument model to connect to from the Select Model dropdown menu."]
["2.  Enter the IP address of the instrument into the IP field.  An example IP address is 10.10.10.104"]
["3.  The port number is automatically selected, based upon the model selected.  However, if 39XX is selected as the model, be"]
["sure to check that its port number is set to the port number displayed in the 39XX Port Number field.  The 39XX port number "]
["can be set to a different value on the instrument itself.  There are instructions for checking the 39XX port number on the "]
["instrument on the Setup sheet."]
[]
["After entering values in either the IP Address or 39XX Port fields, be sure to press the ENTER key or click outside of the field"]
["to ensure the setting has been entered into the worksheet.  Until the settings have been fully entered through this action, the VIP Tool"]
["cannot connect to the instrument."]
[]
["Once the IP address and Port number are configured, the Check Connection button on the VIP Tool Ribbon can be pressed "]
[" to verify that the program is able to communicate with the instrument.  If the connection is successful, it is verified  by a message"]
[" box, and the instrument serial number and software version will be displayed in the Serial Number and Software Version fields"]
["on the Setup worksheet.  If, however, the VIP Tool cannot communicate with the instrument, the message \"Connection "]
["Unsuccessful\" will appear.  It may take up to 20 seconds for this message to appear if the VIP Tool cannot succesfully connect"]
["to the instrument."]
[]
[]
["Back to Top"]
[]
["The Script Worksheet"]
["The Command and Argument Columns"]
["The Script worksheet is used for assembling sequences of commands, queries and keywords into a script, editing the script, and"]
[" running the script.  It consists of four columns.  The number of rows for entering control commands is the maximum number of rows"]
["allowed by Excel."]
[]
["In general, SCPI RCI commands consist of a command and an argument to the command.  As an example, the"]
["command :RF:GENerator:FREQuency 125 MHz consists of the command :RF:GENerator:FREQuency, which denotes what"]
["parameter is to be controlled (in this case, RF generator frequency) and the argument 125 MHz, which provides the value to assign"]
["to the RF generator frequency.  The command :RF:GENerator:FREQuency should therefore be placed in the Command"]
["column, and its argument 125 MHz should be placed in the adjacent Argument column on the same row."]
[]
["An RCI query, which is used to request data from the instrument, may rarely optionally provide argument functionality, but, in general,"]
["no argument is required for a query.  To follow the above example, :RF:GENerator:FREQuency? is the matching query to the RF"]
["generator command example; it is requesting the RF generator frequency value.  This query has no argument, so"]
[":RF:GENerator:FREQuency? is entered into the command column, and its adjacent Argument row entry is left blank."]
[]
["Keywords are also entered into the command column.  If a keyword requires or supports an argument, then the argument must also"]
["be entered into the argument column."]
[]
["The Reply Column"]
["In most cases, the Reply column will display all returned data from a query, in the format that it was received.  Note that when a query"]
["is executed, the reply from the query, as well as the query command and argument, will also be copied to the Results Data"]
["worksheet.  If the reply to the query contains multiple values separated by a comma, the Results Data worksheet will separate each"]
["individual datum into separate columns. "]
[]
["Trace data, which is CSV data returned from a trace query, are not displayed in the Reply column; instead, the number of points or "]
["number of pairs of received trace data will be displayed in the Reply column.  The trace data are copied to the Trace Data "]
["worksheet."]
[]
["Reply data are automatically erased each time a Script or a selected sequence of commands is executed."]
[]
["The Info Column"]
["The Info column is used to display information about a command, query or keyword executed on a row."]
["If the instrument reports an error message, or if the program encounters an error, the Error column entry will display the error "]
["message.  When the program encounters an error message, it stops execution on the step on which it encountered the error."]
[]
["Info messages are automatically erased each time a Script or a selected sequence of commands is executed."]
[]
["Back to Top"]
[]
["The Results Data Worksheet"]
["Measurement reply data are the data returned by a query.  On the Script worksheet, the data are recorded in the reply column.  "]
["Measurement reply data, with the exception of trace data, are also recorded on the results data sheet.   Trace data are a special"]
["category of reply data that are sent to the Trace Data worksheet (discussed below)."]
[]
["Argument data supplied by the info keyword will also be copied to the Results Data worksheet."]
[]
["Measurement reply data can consist of a single datum, or as several data elements, separated by commas (termed Comma "]
["Separated Values or CSV).  One function of the Results Data worksheet is to separate any CSV into separate columns to make"]
["accessing a particular datum in a CSV string an easier process."]
[]
["The data are separated out into specific columns on the Results Data worksheet:"]
[]
["Column A contains the Date the data were requested from the instrument."]
["Column B contains the Time the data were requested from the instrument."]
["Column C contains the query command that was used to access the data."]
["Column D will contain any argument that was used with the query."]
["Column E will contain the first received datum.  If the reply was a single datum, this will be the only column containing reply data."]
["If the reply was CSV data, Column E will contain the first datum in the CSV string."]
["Columns F and onward will each contain a single datum from any received CSV string, in the order of the data in the CSV string."]
[]
["Following the reply data, Column E will contain the total time the script or selected commands took to complete."]
[]
["If a trace query was sent, the data in Column E will indicate the number of points or pairs of data received by the trace query."]
["Some trace data contain additional status byte or fail byte information.  If the trace data contain that information, it will appear "]
["on the Results Data worksheet in addition to the number of points information."]
[]
["Results data are automatically erased each time a Script or a selected sequence of commands is executed."]
[]
["Back to Top"]
[]
["The Trace Data Worksheet"]
["Trace data are data returned from a specific trace query.  Trace data consist of Comma Separated Values (CSV).  Trace data can"]
["consist of oscilloscope data, spectrum or channel analyzer data, or data from various graphs such as Distribution or Power Over "]
["Time, as examples. "]
[]
["Trace data consist of two components:  X Axis (horizontal) data, which can represent elements such as frequency or time,"]
["depending on the type of trace, and Y Axis (vertical) data, which generally represent some value of amplitude.  When trace data are"]
["encountered by the program, the X axis and Y axis data are separated into two separate rows on the Trace Data worksheet.  The"]
["\"upper\" row of a pair of trace data rows will contain the X axis values, and the \"lower\" row will contain the Y axis values.  The trace "]
["data row pairs are separated from preceding or succeeding trace data row pairs by a blank row."]
[]
["The X axis data are separated into specific columns on the Trace Data worksheet:"]
[]
["Column A contains the Date the trace data were requested from the instrument."]
["Column B contains the Time the trace data were requested from the instrument."]
["Column C contains the number of trace data elements returned (and therefore the number of trace data columns on the worksheet)."]
["Column D contains the X axis designation, and horizontal units of the X axis data.\n\n"]
["Column E is left blank.  This makes it easier to select the trace data with the cntrl-A key combination provided by Excel."]
["Columns F and higher contain the X axis trace data.  The number of columns occupied by data is equal to the value in Column C."]
[]
["The Y axis data are separated into specific columns on the Trace Data worksheet:"]
[]
["Column A contains the Date the trace data were requested from the instrument."]
["Column B contains the Time the trace data were requested from the instrument."]
["Column C contains the query command that was used to access the data."]
["Column D contains the Y axis designation of the X axis data.\n\n"]
["Column E is left blank.  This makes it easier to select the trace data with the cntrl-A key combination provided by Excel."]
["Columns F and higher contain the Y axis trace data.  The number of columns occupied by data is equal to number of X data values."]
[]
["Trace data are automatically erased each time a Script or a selected sequence of commands is executed."]
[]
["Note that X data are generally returned by most RCI commands.  In the event that X data is not available for a specific trace query,"]
["the program calculates the X data and inserts it into the Trace Data worksheet."]
[]
["In the rare event that X data alone is available through a query, the program ignores the data and does not store it in the Trace Data"]
["worksheet when the query is sent as a commmand.  When the Y data query is executed for the function, the program will "]
["automatically send the X data query, and store the X data results with the Y data in the format described above."]
[]
["Back to Top"]
[]
["Editing and Executing a Script"]
["A script consists of a vertical sequence of RCI commands and program keywords entered into the Argument and Command "]
["of the Script worksheet."]
[]
["If more than one row of commands/keywords is selected for execution, the program will sequentially execute the commands or  "]
["keywords until it reaches the end of the selection, encounters a blank entry in the command column, or encounters the end keyword."]
["When a query is encountered, the return data will be displayed in the Reply column, and will be copied to the Results Data "]
["worksheet.   In the case of a trace data query, the number of points of data will be reported in the reply column and the Results Data"]
["worksheet.  Trace data will be copied to the Trace Data worksheet.  If the row is 'commented out' by the \"/\" keyword, the program"]
["will not execute the row and will skip to the next row.  If the program encounters an error message it will cease execution at the row"]
["where it encountered the error message."]
[]
["Note that only a single command can occupy a row.  The program does not support concantenated commands.  Any "]
["concantenation of multiple single commands on a single row will generate an error and the script will stop at that point.  "]
[]
["If a command is placed in the command column without a preceding colon, a preceding colon will automatically be appended to the"]
["command.  This does not affect IEE-488 commands such as *OPC or *IDN?, nor will it affect keywords or commands that have"]
["been 'skipped' with the special \"/\" keyword."]
[]
["When the Run Script button is pressed, the program will start at row 2 of the command column and begin sequentially executing"]
["the script from that point. This allows a dedicated starting point for any script."]
[]
["When the Run From Here button is pressed, the program will start at the currently selected row and begin sequentially executing the"]
["the script from that point.  This allows the user to test blocks of script without having to select the entire block to execute it, or for "]
["testing blocks of script that are separated from other portions of the script by a blank row or end keyword."]
[]
["To execute a single command, or a subset of contiguous commands in the script, select the command or subset of commands and"]
["press the Run Selected button.  Only the selected command(s) will be executed.  Note that if more than one command is selected,"]
["the selected commands must be contiguous."]
[]
["Pressing the Toggle Comments button will 'comment out' an uncommented row or selection of rows, or 'uncomment' a commented "]
["row or selection of rows.  This function automates the placement of the '/' keyword.  The program will skip any commented row "]
["and will not execute the command or keyword on that row."]
[]
["Pressing the Abort Execution button will halt execution of the script at its current position in the script."]
[]
["To insert one or more rows, press the Insert Rows button."]
[]
["To delete one or more rows, press the Delete Rows button."]
[]
["The contents of the Reply column, Info column, Results Data worksheet and Trace Data worksheet will be erased when the Clear"]
["Results button is pressed, or each time a script or selected sequence of commands is executed."]
[]
["The entire script and all results can be removed by pressing the Remove Script button. "]
[]
["Note:  There is no 'undo' function on the Scripts worksheet.  "]
[]
["Back to Top"]
[]
["VIP Tool Resources"]
["VIAVI provides a number of resources at our website.  On our VIP Tool website, you will find the VIP Tool Operations Manual"]
["which is a complete guide to using this tool, including a complete reference to the VIAVI Intrument Programming Language. "]
["The operations manual provides plenty of examples of using the langugage in the VIP Tool.  Also on our VIP Tool website"]
["there are videos, sample scripts, sample reports and more to get you started on your VIP Tool project."]
[]
["VIP Tool Resources"]
[]
["Back to Top"]
[]
["VIAVI RCI Document Resources"]
[]
["VIAVI 3900 Series RCI Document Resources"]
["The key to writing scripts is good Remote Command Interface documentation.  In the case of the VIAVI 39XX models, the RCI"]
["commands can be found in the Help system that is integrated into the instrument."]
[]
["Of course, it's always good to have documents to reference.  All of the 39XX Remote Programming manuals can be downloaded "]
["from the following links:"]
[]
["3900 Series Digital Radio Test Set Remote Programming Manual"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set P25"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set DMR"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set dPMR"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set NXDN"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set TETRA"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set ARIB STD-T98"]
["Remote Programming Manual: 3900 Series Digital Radio Test Set HPD®"]
[]
["VIAVI 8800 Series RCI Document"]
["The VIAVI 8800 Series RCI document can be dowloaded from the following link:"]
[]
["8800 Digital Radio Test Set RCI Programming Manual"]
[]
["VIAVI 3550 Series RCI Document"]
["The VIAVI 3550 Series RCI document can be dowloaded from the following link:"]
[]
["3550/3550R RCI Manual"]
[]
[]
["Back to Top"]
["  \n\n\n   \n\n\n    \n\n\n     "]
["© 2021 VIAVI Solutions"]
[" \n\n\n   \n\n\n \n\n\n"]

{"sheet":"Setup","index":1,"n_rows":26,"n_cols":11,"rows_kept":26,"cut":false,"hidden":false,"merged":[[24,4,24,6],[25,4,25,6],[18,4,18,6],[21,4,21,6],[19,4,19,6],[22,4,22,6],[7,5,7,6],[8,5,8,6],[9,4,9,5],[12,4,12,6],[13,4,13,6],[12,1,12,2],[13,1,13,2],[15,1,15,2],[15,4,15,6],[16,4,16,6]]}
[null,null,null,null,null,null,null,"Calc",null,null,1234]
[null,"Select Model:","39XX",null,null,null,null,"Test Specs"]
[null,{"$f":"C2 & \" \" &  \"IP Address:\"","v":"39XX IP Address:"},null,null,null,null,null,"Report"]
[]
[null,{"$f":"C2 & \" \" & \"Port Number:\"","v":"39XX Port Number:"},1234]
[]
[]
[null,"Serial Number",null,null,"Test Name"]
[null,"Software Version",null,null,"Report Sheet","Report"]
[null,null,null,null,"Open PDF Report On Save",null,"Off"]
[]
[]
[null,"After entering settings, press the ENTER key or click outside of the ",null,null,"Report PDF File Path"]
[null,"entry field to complete entry."]
[]
[null,"The default 39XX Port Number is 1234.  If the port number has been",null,null,"Report CSV File Path"]
[null,"changed from the default value on the instrument, the 39XX Port Number"]
[null,"field on this page must be set to match the port number on the instrument."]
[null,null,null,null,"Script File Path"]
[null,"Steps To verify the port number on the 39XX instrument:"]
[]
[null,"1.  Press the UTILS key.",null,null,"Script Module File Path"]
[null,"2.  Select 'Hardware Settings' "]
[null,"3.  Select 'Remote' from the floating menu."]
[null,"4.  The port number will be displayed in the 'TCP/IP Port' Field on the",null,null,"Import/Export Sheet Path"]
[null,"      Remote menu."]

{"sheet":"Script","index":2,"n_rows":809,"n_cols":4,"rows_kept":809,"cut":false,"hidden":false,"merged":[]}
["Command","Argument","Reply","Info Message"]
["#####################################",""]
["# This application can perform Analog Radio tests",""]
["# in the Analog Duplex, P25, DMR and NXDN systems",""]
["#####################################",""]
["Sub","Begin"]
["*idn?","[TestUnit]=Reply3"]
["close_socket",""]
["# Clear Pass/Fail flags on Audio Response",""]
["Select_Cell","(Report_A1)"]
["For","1 to 8"]
["Copy","\" \" to (Report_E42:NextRange)"]
["Copy","\" \" to (Report_I42:NextRange)"]
["Next",""]
["# Store Current Test Selections and Radio SN",""]
["For","1 to 10"]
["If","<TS_NextCount>=\"\""]
["<TS_NextCount>=","\"-\""]
["EndIf",""]
["[Temp_NextCount]=","<TS_NextCount>"]
["Next",""]
["[RadioSN]=","<RadioSN>"]
["For","1 to 9"]
["If","<CHSEL_NextCount>=\"\""]
["<CHSEL_NextCount>=","\"-\""]
["EndIf",""]
["[CHSel_NextCount]=","<CHSEL_NextCount>"]
["Next",""]
["# Clear all Tag Values to clear the Report Sheet",""]
["Clear_tags",""]
["# Restore the saved Test Selections and Radio SN",""]
["For","1 to 10"]
["<TS_NextCount>=","[Temp_NextCount]"]
["Next",""]
["Start_Timer_1","<StartTime>=Reply"]
["<RadioSN>=","[RadioSN]"]
["<TestUnit>=","[TestUnit]"]
["For","1 to 9"]
["<CHSEL_NextCount>=","[CHSel_NextCount]"]
["Next",""]
["# Find the selected Band and Read the Frequencies and specs from the Test Specs Sheet",""]
["RunSub","Read_Band_Frequencies"]
["open_socket",""]
["# If Run Tests is selected, Execute the selected tests",""]
["If","(Report_Q9) = \"Run Tests\""]
["Runsub","Perform_Analog_Tests"]
["EndIf",""]
["END",""]
["EndSub",""]
[]
["Sub","Read_Band_Frequencies"]
["[TargetBand]=","(Report_Q6)"]
["Set_Counter1","0"]
["for","1 to 100"]
["[CheckBand]=","(Test Specs_A:nextcount)"]
["Inc_Counter1",""]
["If","[CheckBand]=[TargetBand]"]
["[Start]=","Counter1"]
["NextCount","100"]
["EndIf",""]
["next",""]
["[Channels]=","(Test Specs_C:Counter1)"]
["[Last]=","[Start]+[Channels]"]
["[Last]=","[Last]-1"]
["Set_Counter1","0"]
["for"," [Start] to [Last]"]
["Inc_Counter1",""]
["NextCount",""]
["<RXFreq_Counter1>=","(Test Specs_D:NextCount)"]
["<TXFreq_Counter1>=","(Test Specs_E:NextCount)"]
["[PowerLL_Counter1]=","(Test Specs_H:NextCount)"]
["[PowerUL_Counter1]=","(Test Specs_I:NextCount)"]
["[FreqTolLL_Counter1]=","(Test Specs_J:NextCount)"]
["[FreqTolUL_Counter1]=","(Test Specs_K:NextCount)"]
["[TXDistUL_Counter1]=","(Test Specs_L:NextCount)"]
["[RXDistUL_Counter1]=","(Test Specs_M:NextCount)"]
["[RXSINUL_Counter1]=","(Test Specs_N:NextCount)"]
["[BW_Counter1]=","(Test Specs_O:NextCount)"]
["[RXTestLevel_Counter1]=","(Test Specs_P:NextCount)"]
["[RXMaxAudioLL_Counter1]=","(Test Specs_Q:NextCount)"]
["[CLOffset_Counter1]=","(Test Specs_R:NextCount)"]
["[CHSelMsg_Counter1]=","(Test Specs_S:NextCount)"]
["next",""]
["<TXFreqErr>=","<TXFreq_Counter1>"]
["EndSub",""]
[]
[]
["# Beginning of Digital Radio Test Script",""]
["#",""]
["Sub","Perform_Analog_Tests"]
["Start_Timer_1",""]
["#Load the Digital system in case it is not loaded",""]
["#",""]
["[SystemSetting]=","(Report_Q12)"]
["if"," [SystemSetting]=P25"]
["[System]=","\"P25\""]
[":System:Load","\"\"P25\"\""]
["ElseIf"," [SystemSetting]=DMR"]
["[System]=","\"DMR\""]
[":System:Load","\"\"DMR\"\""]
["ElseIf"," [SystemSetting]=NXDN"]
["[System]=","\"NXDN\""]
[":System:Load","\"\"NXDN\"\""]
["ElseIf"," [SystemSetting]=Analog Duplex"]
["[System]=","\"Analog Duplex\""]
[":System:Load","\"\"Analog Duplex\"\""]
["EndIf",""]
["#",""]
["# Establish initial settings",""]
["#",""]
["Start_Timer_2",""]
["#",""]
["RunSub","initial_settings_Analog_Mode"]
["#",""]
["[TXTests]=","0"]
["For","1 to 6"]
["If","<TS_NextCount>=\"X\""]
["# There are Transmitter tests to perform",""]
["[TXTests]=","1"]
["EndIf",""]
["Next",""]
["[RXTests]=","0"]
["For","7 to 10"]
["If","<TS_NextCount>=\"X\""]
["# There are Receiver tests to perform",""]
["[RXTests]=","1"]
["EndIf",""]
["Next",""]
["Set_Counter2","0"]
["[MaxAudioDone]=","0"]
["[RXRespDone]=","0"]
["[DevLmtDone]=","0"]
["[ModSensDone]=","0"]
["[TXRespDone]=","0"]
["#",""]
["For","1 to [Channels]"]
["Inc_Counter2",""]
["[CHSet]=","0"]
["#",""]
["If","[BW_Counter2]= 12.5"]
["[DevMax]=","2500"]
["[Dev20]=","500"]
["[Dev60]=","1500"]
["Else",""]
["[DevMax]=","5000"]
["[Dev20]=","1000"]
["[Dev60]=","3000"]
["EndIf",""]
["#",""]
["If","[RXTests]=1"]
["#",""]
["If","<CHSEL_Counter2>=\"X\""]
[":Configure:Offset:Generator:Value","[CLOffset_Counter2]"]
[":MOD:Generator:Source1:Enable","1"]
[":MOD:Generator:Source1:Frequency","1000 Hz"]
["[Mod_Level]=","[Dev60] / 1000"]
["[RXTestLevel]=","[RXTestLevel_Counter2]"]
["RunSub","Set_Mod_Level"]
[":MOD:Generator:Source1:Shape","Sine"]
["RunSub","RF_Gen_On"]
["[Gen_Frequency]=","<RXFreq_Counter2>"]
["RunSub","Set_Gen_Frequency"]
["RunSub","Scope_To_Audio"]
["RunSub","Measure_Max_Audio"]
["RunSub","Measure_RX_Distortion"]
["RunSub","Measure_RX_SINAD"]
["RunSub","RX_Audio_Response"]
["EndIf",""]
["#",""]
["EndIf",""]
["#",""]
["If","[TXTests]=1"]
["#",""]
["If","<CHSEL_Counter2>=\"X\""]
[":Configure:Offset:Analyzer:Value","[CLOffset_Counter2]"]
["RunSub","RF_Gen_Off"]
[":AF:generator:source1:enable","0"]
["RunSub","Scope_To_Demod"]
["[Rec_Frequency]=","<TXFreq_Counter2>"]
["RunSub","Set_Rec_Frequency"]
["If","[CHSet]=0"]
["RunSub","Wait_For_Transmit"]
["Else",""]
["RunSub","Wait_For_Transmit_zone2"]
["EndIf",""]
["Delay","4"]
["RunSub","Measure_TX_Freq_Error"]
["RunSub","Measure_TX_Power"]
["RunSub","Measure_TXMod_Sens"]
["RunSub","Measure_TXDistortion"]
["RunSub","Measure_DevLmt"]
["RunSub","Measure_TXResp"]
["RunSub","Wait_For_No_Transmit"]
["EndIf",""]
["#",""]
["EndIf",""]
["[CHSet]=","0"]
["#",""]
["Next\t",""]
["Stop_Timer_2",""]
["Total_Timer_2","<TestTime>=Reply"]
["#",""]
["Pause","Analog Test Complete"]
["#",""]
["EndSub",""]
[]
[]
["#",""]
["# Wait until the Power meter shows >0.05 watts","Key the Transmitter"]
["#",""]
["Sub","Wait_For_Transmit"]
["wait_for_transmit_on","[CHSelMsg_Counter2] &\" and Key the Transmitter\""]
["EndSub",""]
[]
["#",""]
["# Wait until the Power meter shows >0.05 watts","Key the Transmitter Zone 2"]
["#",""]
["Sub","Wait_For_Transmit_Zone2"]
["wait_for_transmit_on","Key the Transmitter"]
["EndSub",""]
[]
["#",""]
["# Wait until the Power meter shows <0.05 watts","Unkey the Transmitter"]
["#",""]
["Sub","Wait_For_No_Transmit"]
["wait_for_transmit_off","Unkey the Transmitter"]
["EndSub",""]
[]
[]
["Sub","Measure_Max_Audio"]
["If","[MaxAudioDone]=0"]
["If","<TS_7>=\"X\""]
["[Gen_Level]=","-47"]
["RunSub","Set_Gen_Level"]
["#Set zone and channel",""]
["Pause","[ChSelMsg_Counter2]"]
["Pause","Set Radio Volume to Maximum Level"]
["<MaxAudFreq>=","<RXFreq_Counter2>"]
[":Fetch:AF:Analyzer:Level?","<RXMaxAudio>=Reply4"]
["Delay","1"]
[":Fetch:AF:Analyzer:Level?","<RXMaxAudio>=Reply4"]
["[MaxAudioDone]=","1"]
["[CHSet]=","1"]
["[Meas]=","<RXMaxAudio>"]
["[LL]=","[RXMaxAudioLL_Counter2]"]
["RunSub","Test_Eval_LL"]
["<RXMaxAudioStat>=","[Result]"]
["EndIf",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_RX_Distortion"]
["If","<TS_8>=\"X\""]
["If","[CHSet]=0"]
["Pause","[CHSelMsg_Counter2]"]
["[CHSet]=","1"]
["EndIf",""]
["RunSub","Check_Audio"]
["Display_Message",""]
["Message1","Measuring RX Distortion"]
["Message2",""]
["Delay","3"]
["# Measure Receiver Distortion",""]
[":Fetch:AF:Analyzer:Distortion?","<RXDist_Counter2>=Reply4"]
["[Meas]=","<RXDist_Counter2>"]
["[UL]=","[RXDistUL_Counter2]"]
["RunSub","Test_Eval_UL"]
["<RXDistStat_Counter2>=","[Result]"]
["Message1",""]
["Close_Message",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_RX_SINAD"]
["If","<TS_9>=\"X\""]
["If","[CHSet]=0"]
["Pause","[CHSelMsg_Counter2]"]
["[CHSet]=","1"]
["EndIf",""]
["# Measure 12 dB SINAD",""]
["RunSub","Check_Audio"]
["RunSub","Sinad_Search"]
["[Meas]=","<RXSin_Counter2>"]
["[UL]=","<RXSinUL_Counter2>"]
["RunSub","Test_Eval_UL"]
["<RXSinStat_Counter2>=","[Result]"]
["EndIf",""]
["EndSub",""]
[]
["#",""]
["# RX Audio Response Test",""]
["#",""]
["Sub","RX_Audio_Response"]
["If","[RXRespDone]=0"]
["If","<TS_10>=\"X\""]
["If","[CHSet]=0"]
["Pause","[CHSelMsg_Counter2]"]
["[CHSet]=","1"]
["EndIf",""]
["[RXRespDone]=","1"]
["Display_Message",""]
["Message1","Measuring RX Audio Response"]
["[Gen_Level]=","-47"]
["RunSub","Set_Gen_Level"]
["RunSub","RF_Gen_On"]
[":MOD:generator:source1:enable","1"]
[":MOD:generator:Source1:Frequency","1kHz"]
["[Mod_Level]=","[Dev20] / 1000"]
["RunSub","Set_Mod_Level"]
[":MOD:generator:source1:shape","SINE"]
[":MOD:generator:source2:enable","0"]
[":MOD:generator:source3:enable","0"]
["Delay","2"]
["Message2","300 Hz"]
[":MOD:generator:Source1:Frequency",".3kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF1]=reply4"]
["Message2","500 Hz"]
[":MOD:generator:Source1:Frequency",".5kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF2]=reply4"]
["Message2","750 Hz"]
[":MOD:generator:Source1:Frequency",".75kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF3]=reply4"]
["Message2","1000 Hz"]
[":MOD:generator:Source1:Frequency","1kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF4]=reply4"]
["Message2","1500 Hz"]
[":MOD:generator:Source1:Frequency","1.5kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF5]=reply4"]
["Message2","2000 Hz"]
[":MOD:generator:Source1:Frequency","2kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF6]=reply4"]
["Message2","2500 Hz"]
[":MOD:generator:Source1:Frequency","2.5 kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF7]=reply4"]
["Message2","3000 Hz"]
[":MOD:generator:Source1:Frequency","3kHz"]
["Delay","2"]
[":Fetch:AF:Analyzer:Level?","[AF8]=reply4"]
["#",""]
[":MOD:generator:Source1:Frequency","1kHz"]
["dB_Calc_[AF1]_[AF4]","<RXResp_1>=Reply"]
["dB_Calc_[AF2]_[AF4]","<RXResp_2>=Reply"]
["dB_Calc_[AF3]_[AF4]","<RXResp_3>=Reply"]
["dB_Calc_[AF4]_[AF4]","<RXResp_4>=Reply"]
["dB_Calc_[AF5]_[AF4]","<RXResp_5>=Reply"]
["dB_Calc_[AF6]_[AF4]","<RXResp_6>=Reply"]
["dB_Calc_[AF7]_[AF4]","<RXResp_7>=Reply"]
["dB_Calc_[AF8]_[AF4]","<RXResp_8>=Reply"]
["Message1",""]
["Message2",""]
["Close_Message",""]
["EndIf",""]
["EndIf",""]
["EndSub",""]
[]
[]
["Sub","Measure_TX_Freq_Error"]
["If","<TS_1>=\"X\""]
["Display_Message",""]
["Message1","Measuring TX Frequency Error"]
["RunSub","Measure_RF_Freq_Error"]
["<RFError>=","[RF_Frequency_Error]"]
["<TXFreqErr>=","<TXFreq_Counter2>"]
["[Meas]=","<RFError>"]
["[UL]=","[FreqTolUL_Counter2]"]
["[LL]=","[FreqTolLL_Counter2]"]
["RunSub","Test_Eval_UL_LL"]
["<TXFreqStatus>=","[Result]"]
["Close_Message",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_TX_Power"]
["If","<TS_2>=\"X\""]
["Display_Message",""]
["Message1","Measuring TX Power"]
["# Set Upper and Lower Limits on Power meter",""]
["#",""]
[":Limits:RF:TRBPower:Upper:Value","[PowerUL_Counter2] W"]
[":Limits:RF:TRBPower:Lower:Value","[PowerLL_Counter2] W"]
["Delay","2"]
[":Fetch:RF:ANAL:TRBP?\t","<TXPower_Counter2>=Reply4"]
["[Meas]=","<TXPower_Counter2>"]
["[UL]=","[PowerUL_Counter2]"]
["[LL]=","[PowerLL_Counter2]"]
["RunSub","Test_Eval_UL_LL"]
["<TXPwrStat_Counter2>=","[Result]"]
["Close_Message",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_TXMod_Sens"]
["If","[ModSensDone]=0"]
["If","<TS_3>=\"X\""]
["Display_Message",""]
["Message1","Measuring Modulation Sensitivity"]
["<ModSensFreq>=","<TXFreq_Counter2>"]
["RunSub","TX_Modulation_Sensitivity_60"]
["# Hardwired these specs",""]
["[Meas]=","<TXModSens>"]
["[UL]=","25"]
["[LL]=","3"]
["RunSub","Test_Eval_UL_LL"]
["<TXModSensStat>=","[Result]"]
["[ModSensDone]=","1"]
["Close_Message",""]
["EndIf",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_TXDistortion"]
["If","<TS_4>=\"X\""]
["If","[ModSensDone]=0"]
["RunSub","TX_Modulation_Sensitivity_60"]
["<ModSensFreq>=","<TXFreq_Counter2>"]
["[ModSensDone]=","1"]
["Else",""]
[":AF:Generator:Source1:Level","<TXModSens>"]
[":AF:Generator:Source1:Enable","1"]
["Delay","2"]
["EndIf",""]
["Display_Message",""]
["Message1","Measuring TX Distortion"]
[":Fetch:Mod:Analyzer:Distortion?","<TXDist_Counter2>=Reply4"]
["[Meas]=","<TXDist_Counter2>"]
["[UL]=","[TXDistUL_Counter2]"]
["RunSub","Test_Eval_UL"]
["<TXDistStat_Counter2>=","[Result]"]
["Close_Message",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_DevLmt"]
["If","[DevLmtDone]=0"]
["If","<TS_5>=\"X\""]
["If","[ModSensDone]=0"]
["RunSub","TX_Modulation_Sensitivity_60"]
["<ModSensFreq>=","<TXFreq_Counter2>"]
["[ModSensDone]=","1"]
["EndIf",""]
["Display_message",""]
["Message1","Measuring Deviation Limiting"]
["RunSub","Deviation_Limiting"]
[":Fetch:MOD:Analyzer:FM?","<TXDevLimit>=Reply4"]
["<DevLmtFreq>=","<TXFreq_Counter2>"]
["[Meas]=","<TXDevLimit>"]
["[UL]=","[DevMax]"]
["RunSub","Test_Eval_UL"]
["# Change to kHz for Printout",""]
["<TXDevLimit>=","<TXDevLimit> / 1000"]
["<TXDevLimitStat>=","[Result]"]
["Close_Message",""]
["[DevLmtDone]=","1"]
["EndIf",""]
["EndIf",""]
["EndSub",""]
[]
["Sub","Deviation_Limiting"]
[":AF:generator:source1:enable","1"]
[":AF:generator:Source1:Frequency","1kHz"]
["[TstLvl]=","<TXModSens> * 10"]
[":AF:generator:source1:Level","[TstLvl]"]
[":AF:generator:source1:shape","SINE"]
[":Config:Port:Fgen","FGEN"]
[":AF:generator:source2:enable","0"]
[":AF:generator:source3:enable","0"]
["Delay","2"]
["EndSub",""]
[]
[]
["Sub","Measure_TXResp"]
["If","[TXRespDone]=0"]
["If","<TS_6>=\"X\""]
["RunSub","TX_Audio_Response"]
["[TXRespDone]=","1"]
["EndIf",""]
["EndIf",""]
["EndSub",""]
[]
[]
["#",""]
["# TX Audio Response Test",""]
["#",""]
["Sub","TX_Audio_Response"]
["Display_Message",""]
["Message1","Measuring TX Audio Response"]
[":AF:generator:source1:enable","1"]
[":AF:generator:Source1:Frequency","1kHz"]
[":Configure:Mod:Analyzer:FM:Mtype","RMS"]
["RunSub","TX_Modulation_Sensitivity"]
[":AF:generator:source1:shape","SINE"]
[":Config:Port:Fgen","FGEN"]
[":AF:generator:source2:enable","0"]
[":AF:generator:source3:enable","0"]
["Delay","2"]
["Message2","300 Hz"]
[":AF:generator:Source1:Frequency",".3kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev1]=reply4"]
["Message2","500 Hz"]
[":AF:generator:Source1:Frequency",".5kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev2]=reply4"]
["Message2","750 Hz"]
[":AF:generator:Source1:Frequency",".75kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev3]=reply4"]
["Message2","1000 Hz"]
[":AF:generator:Source1:Frequency","1kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev4]=reply4"]
["Message2","1500 Hz"]
[":AF:generator:Source1:Frequency","1.5kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev5]=reply4"]
["Message2","2000 Hz"]
[":AF:generator:Source1:Frequency","2kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev6]=reply4"]
["Message2","2500 Hz"]
[":AF:generator:Source1:Frequency","2.5 kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev7]=reply4"]
["Message2","3000 Hz"]
[":AF:generator:Source1:Frequency","3kHz"]
["Delay","2"]
[":Fetch:MOD:Analyzer:FM?","[TXDev8]=reply4"]
[":Configure:Mod:Analyzer:FM:Mtype","Peak"]
[":AF:generator:Source1:Frequency","1kHz"]
["dB_Calc_[TXDev1]_[TXDev4]","<TXResp_1>=Reply"]
["dB_Calc_[TXDev2]_[TXDev4]","<TXResp_2>=Reply"]
["dB_Calc_[TXDev3]_[TXDev4]","<TXResp_3>=Reply"]
["dB_Calc_[TXDev4]_[TXDev4]","<TXResp_4>=Reply"]
["dB_Calc_[TXDev5]_[TXDev4]","<TXResp_5>=Reply"]
["dB_Calc_[TXDev6]_[TXDev4]","<TXResp_6>=Reply"]
["dB_Calc_[TXDev7]_[TXDev4]","<TXResp_7>=Reply"]
["dB_Calc_[TXDev8]_[TXDev4]","<TXResp_8>=Reply"]
["Message1",""]
["Message2",""]
["Close_Message",""]
["EndSub",""]
[]
[]
["# Mod Sensitivity 60%",""]
["Sub","TX_Modulation_Sensitivity_60"]
[":Mod:Analyzer:Mfilter","LP2"]
[":AF:generator:source1:enable","1"]
[":AF:generator:Source1:Frequency","1kHz"]
[":AF:generator:source1:Level","4"]
[":AF:generator:source1:shape","SINE"]
[":Config:Port:Fgen","FGEN"]
[":AF:generator:source2:enable","0"]
[":AF:generator:source3:enable","0"]
["Delay","1.5"]
[":Fetch:MOD:Analyzer:FM?","[Ref60_Dev]=Reply4"]
["[mv_per_kHz]=","4 / [Ref60_Dev]"]
["[Test_Level]=","[mv_per_khz] * [Dev60]"]
[":AF:Generator:Source1:Level","[Test_Level]"]
["<TXModSens>=","[Test_Level]"]
["EndSub",""]
[]
["# Mod Sensitivity 20%",""]
["Sub","TX_Modulation_Sensitivity"]
[":Mod:Analyzer:Mfilter","LP2"]
[":AF:generator:source1:enable","1"]
[":AF:generator:Source1:Frequency","1kHz"]
[":AF:generator:source1:Level","4"]
[":AF:generator:source1:shape","SINE"]
[":Config:Port:Fgen","FGEN"]
[":AF:generator:source2:enable","0"]
[":AF:generator:source3:enable","0"]
["Delay","1.5"]
[":Fetch:MOD:Analyzer:FM?","[Dev]=Reply4"]
["[Dev]=","4 / [Dev]"]
["[Dev1]=","[Dev] * [Dev20]"]
[":AF:Generator:Source1:Level","[Dev1]"]
["EndSub",""]
[]
[]
[]
["############################",""]
["### Test Evaluations",""]
["############################",""]
["Sub","Test_Eval_LL"]
["if","[Meas] > [LL]"]
["[Result]=","\"Pass\""]
["Else",""]
["[Result]=","\"Fail\""]
["Endif",""]
["EndSub",""]
[]
["Sub","Test_Eval_UL"]
["if","[Meas] < [UL]"]
["[Result]=","\"Pass\""]
["Else",""]
["[Result]=","\"Fail\""]
["Endif",""]
["EndSub",""]
[]
[]
["Sub","Test_Eval_UL_LL"]
["if","[Meas] < [UL]"]
["If","[Meas] > [LL]"]
["[Result]=","\"Pass\""]
["Else",""]
["[Result]=","\"Fail\""]
["Endif",""]
["Else",""]
["[Result]=","\"Fail\""]
["EndIf",""]
["EndSub",""]
[]
[]
["Sub","RF_Gen_On"]
["# Turns on the RF Generator",""]
[":RF:Gen:Enable","1"]
["If","[System] = \"P25\""]
[":RF:Generator:CH1:Enable","1"]
["EndIf",""]
["EndSub",""]
[]
["Sub","RF_Gen_Off"]
["# Turns Off the RF Generator",""]
[":RF:Gen:Enable","0"]
["If","[System] = \"P25\""]
[":RF:Generator:CH1:Enable","0"]
["EndIf",""]
["EndSub",""]
[]
["Sub","Set_Gen_Frequency"]
["#Use to set RF Generator Frequency for Analog Duplex, P25, DMR or NXDN Systems",""]
["#Must set system variable [Gen_Frequency] before calling",""]
["If","[System] = \"Analog Duplex\""]
[":RF:Gen:Frequency","[Gen_Frequency]"]
["Else",""]
[":RF:Gen:CH1:Frequency","[Gen_Frequency]"]
["EndIf",""]
["EndSub",""]
[]
["Sub","Set_Rec_Frequency"]
["If","[System] = \"Analog Duplex\""]
[":RF:Analyzer:Frequency","[Rec_Frequency]"]
["EndIf",""]
["If","[System] = \"DMR\""]
[":RF:Analyzer:Frequency","[Rec_Frequency]"]
["EndIf",""]
["If","[System] = \"P25\""]
[":RF:Analyzer:CH1:Frequency","[Rec_Frequency]"]
[":RF:Analyzer:CH1:Enable","1"]
["endif",""]
["If","[System] = \"NXDN\""]
[":RF:Analyzer:CH1:Frequency","[Rec_Frequency]"]
["EndIf",""]
["EndSub",""]
[]
["Sub","Set_Gen_Level"]
["# Set Generator RF Level in dBm",""]
["If","[System] = \"Analog Duplex\""]
[":RF:Gen:Level","[Gen_Level]"]
["Else",""]
[":RF:Gen:CH1:Level","[Gen_Level]"]
["EndIf",""]
["EndSub",""]
[]
["Sub","Set_Mod_Level"]
["If","[System]= \"Analog Duplex\""]
[":Mod:Generator:Source1:FM","[Mod_Level] kHz"]
["Else",""]
[":Mod:Generator:Source1:Level","[Mod_Level] kHz"]
["EndIf",""]
["EndSub",""]
[]
["Sub","Measure_RF_Freq_Error"]
[":Fetch:RF:Analyzer:Foffset?","[RF_Frequency_Error]=reply4"]
["EndSub",""]
[]
["Sub","initial_settings_Analog_Mode"]
["#",""]
["# Establish settings",""]
["#",""]
["Display_Message",""]
["Message1","Initializing System"]
["*Rst",""]
["Delay","2"]
["If","[System]=\"P25\""]
[":RF:GEN:CH2:ENABLE","0"]
[":RF:Analyzer:CH2:Enable","0"]
[":Transmit:Primary","1"]
[":Transmit:CH1:Protocol","Analog"]
[":Transmit:CH1:Modulation","FM"]
[":Receive:Primary","1"]
[":Receive:CH1:Protocol","Analog"]
[":Receive:CH1:Modulation","FM"]
["EndIf",""]
[":RF:Analyzer:Port","TR"]
[":RF:Generator:Port","TR"]
["RunSub","RF_Gen_Off"]
["[Gen_Frequency]=","100 MHz"]
["RunSub","Set_Gen_Frequency"]
["#",""]
["If","[System]=\"Analog Duplex\""]
["# No Action for Analog Duplex",""]
["Else",""]
["If","[System]=\"DMR\""]
[":Transmit:Protocol","Analog"]
[":Receive:Protocol","Analog"]
["Else",""]
[":Transmit:CH1:Protocol","Analog"]
[":Receive:CH1:Protocol","Analog"]
["EndIf",""]
["EndIf",""]
["[Gen_Level]=","-115"]
["RunSub","Set_Gen_Level"]
[":MOD:Generator:Source1:Enable","1"]
[":MOD:Generator:Source1:Frequency","1000 Hz"]
["[Mod_Level]=","1.5"]
["RunSub","Set_Mod_Level"]
[":MOD:Generator:Source1:Shape","Sine"]
[":MOD:Generator:Source2:Enable","0"]
[":MOD:Generator:Source3:Enable","0"]
[":AF:generator:source1:enable","0"]
[":AF:generator:Source1:Frequency","1kHz"]
[":AF:generator:source1:Level","8mv"]
[":AF:generator:source1:shape","SINE"]
[":Config:Port:Fgen","FGEN"]
[":AF:generator:source2:enable","0"]
[":AF:generator:source3:enable","0"]
["[Rec_Frequency]=","100 MHz"]
["RunSub","Set_Rec_Frequency"]
[":RF:Analyzer:FMIF","30.0kHz"]
["# LP2= 5kHz 3=20 4=15 5=3 ",""]
[":MOD:Analyzer:MFilter","LP2"]
["# Loutspeaker - Off, Audio, Demod",""]
[":Configure:Port:Loudspeaker","OFF"]
[":Configure:Offset:Analyzer:Enable","ON"]
[":Configure:Offset:Generator:Enable","ON"]
[":Configure:Offset:Generator:Value","0"]
[":Configure:Offset:Analyzer:Value","0"]
["If","[System]=\"Analog Duplex\""]
[":Display:Tile1:name","\"Generators\""]
[":Display:Tile2:Name","\"Analyzers\""]
[":Display:Tile3:Name","\"Oscilloscope\""]
[":Display:Tile4:Name","\"Channel Analyzer\""]
[":RF:Analyzer:Mod","FM"]
["Else",""]
[":display:tile2:name","\"UUT Measurements\""]
[":display:tile3:name","\"Audio Generator\""]
[":display:tile5:name","\"Generator Modulation\""]
[":display:tile4:name","\"Oscilloscope\""]
["EndIf",""]
[":Limits:AF:SINAD:Lower:Value","11"]
[":Limits:AF:SINAD:Lower:Enable","1"]
[":Limits:RF:TRBPower:Upper:Enable","1"]
[":Limits:RF:TRBPower:Upper:Enable","1"]
["# Set 5 kHz LP Filter on Audio Input",""]
[":AF:Analyzer:Mfilter","LP2"]
[":rf:anal:fmif","30.0kHz"]
[":CA:Vertical:VDIV","10 dB"]
[":CA:Vertical:Level","40 dBm"]
[":CA:Horizontal:Frequency:Span","5MHz"]
["RunSub","Scope_To_Audio"]
[":RF:Power:Detector:ZERO","1"]
["Delay","3"]
["Close_Message",""]
["EndSub",""]
[]
["#",""]
["# SINAD Search Routine",""]
["#",""]
["Sub","Sinad_Search"]
["[Gen_Level]=","-115"]
["RunSub","Set_Gen_Level"]
["Delay","1"]
["Find_12db_SINAD_11_13","<RXSIN_Counter2>=Reply1"]
["EndSub",""]
[]
["#",""]
["# Check and Adjust Audio",""]
["#",""]
["Sub","Check_Audio"]
["[Gen_Level]=","-47"]
["RunSub","Set_Gen_Level"]
["[MinAudio]=","[RXTestLevel] - .1"]
["[MaxAudio]=","[RXTestLevel] + .1"]
["setaudio_v_[MinAudio]_[MaxAudio]",""]
["EndSub",""]
[]
["Sub","Scope_To_Audio"]
[":Scope:Atrace:Source","FAUD"]
[":Scope:Atrace:VDIV:Volt","1V"]
[":Scope:Atrace:Vposition","0V"]
[":Scope:HDIV","1ms"]
[":Scope:Trigger:Source","Atrace"]
["EndSub",""]
[]
["Sub","Scope_To_Demod"]
[":Scope:Atrace:Source","Demod"]
[":Scope:Atrace:VDIV:FM","1kHz"]
[":Scope:Atrace:Vposition","0V"]
[":Scope:HDIV","1ms"]
[":Scope:Trigger:Source","Atrace"]
["EndSub",""]

{"sheet":"Results Data","index":3,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"Trace Data","index":4,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"Calc","index":5,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"Test Specs","index":6,"n_rows":41,"n_cols":19,"rows_kept":41,"cut":false,"hidden":false,"merged":[]}
["CH Plan","Config","CH's","Radio RX","Radio TX","Power Target","Power Tolerance (%)","Power LL","Power UL","Frequency Tol (Hz) LL","Frequency Tol (Hz) UL","TX Distortion (%)","RX Distortion","RX SINAD","BW (kHz)","RX Audio Test Level (V)","RX Max Audio (V)","Cable Loss","Channel Select Msg"]
[1,"VHF",6,136.07499999999999,136.02500000000001,6.2,10,{"$f":"F2-(F2*(G2/100))","v":5.58},{"$f":"F2+(F2*(G2/100))","v":6.82},-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 1"]
[null,null,null,142.07499999999999,142.125,6.2,10,{"$f":"F3-(F3*(G3/100))","v":5.58},{"$f":"F3+(F3*(G3/100))","v":6.82},-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 2"]
[null,null,null,154.27500000000001,154.22499999999999,6.2,10,5.58,6.82,-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 3"]
[null,null,null,160.17500000000001,160.125,6.2,10,5.58,6.82,-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 4"]
[null,null,null,168.125,168.07499999999999,6.2,10,5.58,6.82,-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 5"]
[null,null,null,173.92500000000001,173.97499999999999,6.2,10,5.58,6.82,-150,150,10,10,-116,12.5,1,5,-0.15,"Select USQ / CH 6"]
[]
[2,"UHF1",8,380.07499999999999,380.02499999999998,5.3,10,{"$f":"F9-(F9*(G9/100))","v":4.7699999999999996},{"$f":"F9+(F9*(G9/100))","v":5.83},-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 1"]
[null,null,null,395.07499999999999,395.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 2"]
[null,null,null,410.07499999999999,410.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 3"]
[null,null,null,424.97500000000002,424.92500000000001,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 4"]
[null,null,null,425.07499999999999,425.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 5"]
[null,null,null,440.07499999999999,440.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 6"]
[null,null,null,455.375,455.32499999999999,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 7"]
[null,null,null,469.97500000000002,469.92500000000001,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 8"]
[]
[3,"UHF2",8,450.07499999999999,450.02499999999998,5.3,10,{"$f":"F18-(F18*(G18/100))","v":4.7699999999999996},{"$f":"F18+(F18*(G18/100))","v":5.83},-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 1"]
[null,null,null,460.07499999999999,460.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 2"]
[null,null,null,471.07499999999999,471.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 3"]
[null,null,null,484.92500000000001,484.97500000000002,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 4"]
[null,null,null,485.07499999999999,485.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 5"]
[null,null,null,495.07499999999999,495.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 6"]
[null,null,null,506.07499999999999,506.02499999999998,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 7"]
[null,null,null,519.92499999999995,519.97500000000002,5.3,10,4.7699999999999996,5.83,-150,150,10,10,-116,12.5,1,5,-0.31,"Select USQ / CH 8"]
[]
[4,"7-800",9,764.0625,764.01250000000005,2.6,10,{"$f":"F27-(F27*(G27/100))","v":2.34},{"$f":"F27+(F27*(G27/100))","v":2.8600000000000003},-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 1"]
[null,null,null,769.0625,769.01250000000005,2.6,10,2.34,2.8600000000000003,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 2"]
[null,null,null,775.9375,775.98749999999995,2.6,10,2.34,2.8600000000000003,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 3"]
[null,null,null,851.0625,794.01250000000005,2.6,10,2.34,2.8600000000000003,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 4"]
[null,null,null,860.0625,809.01250000000005,3.2,10,2.88,3.5200000000000005,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 5"]
[null,null,null,869.9375,823.98749999999995,3.2,10,2.88,3.5200000000000005,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 6"]
[null,null,null,851.0625,851.01250000000005,3.2,10,2.88,3.5200000000000005,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 7"]
[null,null,null,860.0625,860.01250000000005,3.2,10,2.88,3.5200000000000005,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 8"]
[null,null,null,869.9375,869.88750000000005,3.2,10,2.88,3.5200000000000005,-250,250,10,10,-116,12.5,1,5,-0.4,"Select USQ / CH 9"]
[]
[5,"Mike DMR",2,403.02499999999998,403.02499999999998,4,10,{"$f":"F37-(F37*(G37/100))","v":3.6},{"$f":"F37+(F37*(G37/100))","v":4.4000000000000004},-150,150,10,10,-116,12.5,1,5,-0.31,"Select Channel 1"]
[null,null,null,408.02499999999998,403.02499999999998,1.2,10,1.08,1.3199999999999998,-150,150,10,10,-116,12.5,1,5,-0.31,"Select Channel 3"]
[]
[6,"Bill DMR",2,467.85,467.85,1.2,10,{"$f":"F40-(F40*(G40/100))","v":1.08},{"$f":"F40+(F40*(G40/100))","v":1.3199999999999998},-150,150,10,10,-116,12.5,1,5,-0.31,"Select Channel 7"]
[null,null,null,465.9,470,1.2,10,1.08,1.3199999999999998,-150,150,10,10,-116,12.5,1,5,-0.31,"Select Channel 9"]

{"sheet":"Report","index":7,"n_rows":122,"n_cols":17,"rows_kept":122,"cut":false,"hidden":false,"merged":[[40,2,40,4],[40,6,40,8],[61,2,61,3],[11,13,11,14],[11,16,11,17],[12,13,12,14],[13,13,13,14],[14,13,14,14],[29,11,29,18],[10,13,10,14],[10,16,10,17],[2,2,2,7],[2,11,2,18],[4,12,5,14],[4,16,4,17],[5,16,5,17],[6,13,6,14],[7,13,7,14],[7,16,7,17],[8,13,8,14],[8,16,8,17],[9,13,9,14]]}
[]
[]
[null,null,"FM Analog Radio Test Example",null,null,null,null,null,null,null,null,"Test Controls"]
[]
[null,null,"3920 SN:",null,null,null,null,null,null,null,null,null,"Test Menu",null,null,null,"CH Plan"]
[null,null,"Radio SN:",null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[null,null,"Date",{"$f":"TODAY()","v":"2021-03-31"},null,null,null,null,null,null,null,null,null,"TX Frequency"]
[null,null,"Time",null,null,null,null,null,null,null,null,null,null,"TX Power",null,null,"Mode"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"TX Modulation Sensitvity",null,null,"Run Tests"]
[null,null,"TX Frequency","RF Error (Hz)","Status",null,null,null,null,null,null,null,null,"TX Distortion"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"TX Deviation Limiting",null,null,"System"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"TX Audio Response",null,null,"P25"]
[null,null,"TX Frequency","TX Power (W)","Status",null,"RX Frequency","RX SINAD (dB)","Status",null,null,null,null,"RX Max Audio"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"RX Distortion"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"RX SINAD"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"RX Audio Response"]
[]
[]
[null,null,null,null,null,null,null,null,null,null,null,null,"CH","Include"]
[null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,null,null,null,null,null,null,null,null,null,null,2]
[null,null,null,null,null,null,null,null,null,null,null,null,3]
[null,null,null,null,null,null,null,null,null,null,null,null,4]
[null,null,"TX Frequency","TX Distortion (%)","Status",null,"RX Frequency","RX Distortion (%)","Status",null,null,null,5]
[null,null,null,null,null,null,null,null,null,null,null,null,6]
[null,null,null,null,null,null,null,null,null,null,null,null,7]
[null,null,null,null,null,null,null,null,null,null,null,null,8]
[null,null,null,null,null,null,null,null,null,null,null,null,9]
[]
[null,null,null,null,null,null,null,null,null,null,null,"Note:    Items highlighted in Yellow require user input."]
[]
[]
[]
[]
[null,null,"TX Frequency","TX Mod Sens (mV)","Status",null,"RX Frequency","RX Max Audio (V)","Status"]
[]
[]
[null,null,"TX Frequency","Deviation Limiting (kHz)","Status"]
[]
[]
[null,null,"TX Audio Response",null,null,null,"RX Audio Response"]
[null,null,"300 Hz",null," ",null,"300 Hz",null," "]
[null,null,"500 Hz",null," ",null,"500 Hz",null," "]
[null,null,"750 Hz",null," ",null,"750 Hz",null," "]
[null,null,"1000 Hz",null," ",null,"1000 Hz",null," "]
[null,null,"1500 Hz",null," ",null,"1500 Hz",null," "]
[null,null,"2000 Hz",null," ",null,"2000 Hz",null," "]
[null,null,"2500 Hz",null," ",null,"2500 Hz",null," "]
[null,null,"3000 Hz",null," ",null,"3000 Hz",null," "]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,"Total Test Time"]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,null,"00:05:22"]

{"sheet":"Version","index":8,"n_rows":5,"n_cols":1,"rows_kept":5,"cut":false,"hidden":false,"merged":[]}
["Version 1.1.0"]
["03/17/2021"]
[]
["VIP Tool Version Release Notes are available at the following link:"]
["VIP Tool Resources"]

{"sheet":"Utils","index":9,"n_rows":162,"n_cols":17,"rows_kept":162,"cut":false,"hidden":true,"merged":[]}
[null,null,null,"Calc",false,null,"<beginsave>","",null,"CALC",null,null,"TEST SPECS",null,null,"REPORT"]
[null,null,null,"Test Specs",true,null,"<TXFreqErr>","",null,null,null,null,null,null,null,"<beginsave>","2,2"]
[null,null,null,"Report","",null,"<TXFreq_1>","",null,null,null,null,null,null,null,"<TXFreqErr>","11,3"]
[null,null,null,null,null,null,"<TXFreq_2>","",null,null,null,null,null,null,null,"<TXFreq_1>","14,3"]
[null,null,null,null,null,null,"<TXFreq_3>","",null,null,null,null,null,null,null,"<TXFreq_2>","15,3"]
[null,null,null,null,null,null,"<TXFreq_4>","",null,null,null,null,null,null,null,"<TXFreq_3>","16,3"]
[null,null,null,null,null,null,"<TXFreq_5>","",null,null,null,null,null,null,null,"<TXFreq_4>","17,3"]
[null,null,null,null,null,null,"<TXFreq_6>","",null,null,null,null,null,null,null,"<TXFreq_5>","18,3"]
[null,null,null,null,null,null,"<TXFreq_7>","",null,null,null,null,null,null,null,"<TXFreq_6>","19,3"]
[null,null,null,null,57975536,null,"<TXFreq_8>","",null,null,null,null,null,null,null,"<TXFreq_7>","20,3"]
[null,null,null,null,null,null,"<TXFreq_9>","",null,null,null,null,null,null,null,"<TXFreq_8>","21,3"]
[null,null,null,null,null,null,"<ModSensFreq>","",null,null,null,null,null,null,null,"<TXFreq_9>","22,3"]
[null,null,null,null,null,null,"<DevLmtFreq>","",null,null,null,null,null,null,null,"<TXFreq_1>","25,3"]
[null,null,null,null,null,null,"<TestUnit>","",null,null,null,null,null,null,null,"<TXFreq_2>","26,3"]
[null,null,null,null,"",null,"<RadioSN>","",null,null,null,null,null,null,null,"<TXFreq_3>","27,3"]
[null,null,null,null,"",null,"<StartTime>","",null,null,null,null,null,null,null,"<TXFreq_4>","28,3"]
[null,null,null,null,null,null,"<RFError>","",null,null,null,null,null,null,null,"<TXFreq_5>","29,3"]
[null,null,null,null,null,null,"<TXPower_1>","",null,null,null,null,null,null,null,"<TXFreq_6>","30,3"]
[null,null,null,null,null,null,"<TXPower_2>","",null,null,null,null,null,null,null,"<TXFreq_7>","31,3"]
[null,null,null,null,"882.3875",null,"<TXPower_3>","",null,null,null,null,null,null,null,"<TXFreq_8>","32,3"]
[null,null,null,null,null,null,"<TXPower_4>","",null,null,null,null,null,null,null,"<TXFreq_9>","33,3"]
[null,null,null,null,null,null,"<TXPower_5>","",null,null,null,null,null,null,null,"<ModSensFreq>","36,3"]
[null,null,null,null,null,null,"<TXPower_6>","",null,null,null,null,null,null,null,"<DevLmtFreq>","39,3"]
[null,null,null,null,null,null,"<TXPower_7>","",null,null,null,null,null,null,null,"<TestUnit>","5,4"]
[null,null,null,null,"False",null,"<TXPower_8>","",null,null,null,null,null,null,null,"<RadioSN>","6,4"]
[null,null,null,null,"False",null,"<TXPower_9>","",null,null,null,null,null,null,null,"<StartTime>","8,4"]
[null,null,null,null,null,null,"<TXDist_1>","",null,null,null,null,null,null,null,"<RFError>","11,4"]
[null,null,null,null,null,null,"<TXDist_2>","",null,null,null,null,null,null,null,"<TXPower_1>","14,4"]
[null,null,null,null,null,null,"<TXDist_3>","",null,null,null,null,null,null,null,"<TXPower_2>","15,4"]
[null,null,null,null,"False",null,"<TXDist_4>","",null,null,null,null,null,null,null,"<TXPower_3>","16,4"]
[null,null,null,null,"False",null,"<TXDist_5>","",null,null,null,null,null,null,null,"<TXPower_4>","17,4"]
[null,null,null,null,null,null,"<TXDist_6>","",null,null,null,null,null,null,null,"<TXPower_5>","18,4"]
[null,null,null,null,null,null,"<TXDist_7>","",null,null,null,null,null,null,null,"<TXPower_6>","19,4"]
[null,null,null,null,"On",null,"<TXDist_8>","",null,null,null,null,null,null,null,"<TXPower_7>","20,4"]
[null,null,null,null,"Off",null,"<TXDist_9>","",null,null,null,null,null,null,null,"<TXPower_8>","21,4"]
[null,null,null,null,null,null,"<TXModSens>","",null,null,null,null,null,null,null,"<TXPower_9>","22,4"]
[null,null,null,null,"No",null,"<TXDevLimit>","",null,null,null,null,null,null,null,"<TXDist_1>","25,4"]
[null,null,null,null,null,null,"<TXResp_1>","",null,null,null,null,null,null,null,"<TXDist_2>","26,4"]
[null,null,null,null,null,null,"<TXResp_2>","",null,null,null,null,null,null,null,"<TXDist_3>","27,4"]
[null,null,null,null,null,null,"<TXResp_3>","",null,null,null,null,null,null,null,"<TXDist_4>","28,4"]
[null,null,null,null,null,null,"<TXResp_4>","",null,null,null,null,null,null,null,"<TXDist_5>","29,4"]
[null,null,null,null,"False",null,"<TXResp_5>","",null,null,null,null,null,null,null,"<TXDist_6>","30,4"]
[null,null,null,null,"",null,"<TXResp_6>","",null,null,null,null,null,null,null,"<TXDist_7>","31,4"]
[null,null,null,null,"False",null,"<TXResp_7>","",null,null,null,null,null,null,null,"<TXDist_8>","32,4"]
[null,null,null,null,null,null,"<TXResp_8>","",null,null,null,null,null,null,null,"<TXDist_9>","33,4"]
[null,null,null,null,null,null,"<TXFreqStatus>","",null,null,null,null,null,null,null,"<TXModSens>","36,4"]
[null,null,null,null,null,null,"<TXPWRStat_1>","",null,null,null,null,null,null,null,"<TXDevLimit>","39,4"]
[null,null,null,null,null,null,"<TXPWRStat_2>","",null,null,null,null,null,null,null,"<TXResp_1>","42,4"]
[null,null,null,null,null,null,"<TXPWRStat_3>","",null,null,null,null,null,null,null,"<TXResp_2>","43,4"]
[null,null,null,null,null,null,"<TXPWRStat_4>","",null,null,null,null,null,null,null,"<TXResp_3>","44,4"]
[null,null,null,null,null,null,"<TXPWRStat_5>","",null,null,null,null,null,null,null,"<TXResp_4>","45,4"]
[null,null,null,null,null,null,"<TXPWRStat_6>","",null,null,null,null,null,null,null,"<TXResp_5>","46,4"]
[null,null,null,null,null,null,"<TXPWRStat_7>","",null,null,null,null,null,null,null,"<TXResp_6>","47,4"]
[null,null,null,null,null,null,"<TXPWRStat_8>","",null,null,null,null,null,null,null,"<TXResp_7>","48,4"]
[null,null,null,null,null,null,"<TXPWRStat_9>","",null,null,null,null,null,null,null,"<TXResp_8>","49,4"]
[null,null,null,null,null,null,"<TXDistStat_1>","",null,null,null,null,null,null,null,"<TXFreqStatus>","11,5"]
[null,null,null,null,null,null,"<TXDistStat_2>","",null,null,null,null,null,null,null,"<TXPWRStat_1>","14,5"]
[null,null,null,null,null,null,"<TXDistStat_3>","",null,null,null,null,null,null,null,"<TXPWRStat_2>","15,5"]
[null,null,null,null,null,null,"<TXDistStat_4>","",null,null,null,null,null,null,null,"<TXPWRStat_3>","16,5"]
[null,null,null,null,null,null,"<TXDistStat_5>","",null,null,null,null,null,null,null,"<TXPWRStat_4>","17,5"]
[null,null,null,null,null,null,"<TXDistStat_6>","",null,null,null,null,null,null,null,"<TXPWRStat_5>","18,5"]
[null,null,null,null,null,null,"<TXDistStat_7>","",null,null,null,null,null,null,null,"<TXPWRStat_6>","19,5"]
[null,null,null,null,null,null,"<TXDistStat_8>","",null,null,null,null,null,null,null,"<TXPWRStat_7>","20,5"]
[null,null,null,null,null,null,"<TXDistStat_9>","",null,null,null,null,null,null,null,"<TXPWRStat_8>","21,5"]
[null,null,null,null,null,null,"<TXModSensStat>","",null,null,null,null,null,null,null,"<TXPWRStat_9>","22,5"]
[null,null,null,null,null,null,"<TXDevLimitStat>","",null,null,null,null,null,null,null,"<TXDistStat_1>","25,5"]
[null,null,null,null,null,null,"<TestTime>","",null,null,null,null,null,null,null,"<TXDistStat_2>","26,5"]
[null,null,null,null,null,null,"<RXFreq_1>","",null,null,null,null,null,null,null,"<TXDistStat_3>","27,5"]
[null,null,null,null,null,null,"<RXFreq_2>","",null,null,null,null,null,null,null,"<TXDistStat_4>","28,5"]
[null,null,null,null,null,null,"<RXFreq_3>","",null,null,null,null,null,null,null,"<TXDistStat_5>","29,5"]
[null,null,null,null,null,null,"<RXFreq_4>","",null,null,null,null,null,null,null,"<TXDistStat_6>","30,5"]
[null,null,null,null,null,null,"<RXFreq_5>","",null,null,null,null,null,null,null,"<TXDistStat_7>","31,5"]
[null,null,null,null,null,null,"<RXFreq_6>","",null,null,null,null,null,null,null,"<TXDistStat_8>","32,5"]
[null,null,null,null,null,null,"<RXFreq_7>","",null,null,null,null,null,null,null,"<TXDistStat_9>","33,5"]
[null,null,null,null,null,null,"<RXFreq_8>","",null,null,null,null,null,null,null,"<TXModSensStat>","36,5"]
[null,null,null,null,null,null,"<RXFreq_9>","",null,null,null,null,null,null,null,"<TXDevLimitStat>","39,5"]
[null,null,null,null,null,null,"<MaxAudFreq>","",null,null,null,null,null,null,null,"<TestTime>","62,5"]
[null,null,null,null,null,null,"<RXSIN_1>","",null,null,null,null,null,null,null,"<RXFreq_1>","14,7"]
[null,null,null,null,null,null,"<RXSIN_2>","",null,null,null,null,null,null,null,"<RXFreq_2>","15,7"]
[null,null,null,null,null,null,"<RXSIN_3>","",null,null,null,null,null,null,null,"<RXFreq_3>","16,7"]
[null,null,null,null,null,null,"<RXSIN_4>","",null,null,null,null,null,null,null,"<RXFreq_4>","17,7"]
[null,null,null,null,null,null,"<RXSIN_5>","",null,null,null,null,null,null,null,"<RXFreq_5>","18,7"]
[null,null,null,null,null,null,"<RXSIN_6>","",null,null,null,null,null,null,null,"<RXFreq_6>","19,7"]
[null,null,null,null,null,null,"<RXSIN_7>","",null,null,null,null,null,null,null,"<RXFreq_7>","20,7"]
[null,null,null,null,null,null,"<RXSIN_8>","",null,null,null,null,null,null,null,"<RXFreq_8>","21,7"]
[null,null,null,null,null,null,"<RXSIN_9>","",null,null,null,null,null,null,null,"<RXFreq_9>","22,7"]
[null,null,null,null,null,null,"<RXDist_1>","",null,null,null,null,null,null,null,"<RXFreq_1>","25,7"]
[null,null,null,null,null,null,"<RXDist_2>","",null,null,null,null,null,null,null,"<RXFreq_2>","26,7"]
[null,null,null,null,null,null,"<RXDist_3>","",null,null,null,null,null,null,null,"<RXFreq_3>","27,7"]
[null,null,null,null,null,null,"<RXDist_4>","",null,null,null,null,null,null,null,"<RXFreq_4>","28,7"]
[null,null,null,null,null,null,"<RXDist_5>","",null,null,null,null,null,null,null,"<RXFreq_5>","29,7"]
[null,null,null,null,null,null,"<RXDist_6>","",null,null,null,null,null,null,null,"<RXFreq_6>","30,7"]
[null,null,null,null,null,null,"<RXDist_7>","",null,null,null,null,null,null,null,"<RXFreq_7>","31,7"]
[null,null,null,null,null,null,"<RXDist_8>","",null,null,null,null,null,null,null,"<RXFreq_8>","32,7"]
[null,null,null,null,null,null,"<RXDist_9>","",null,null,null,null,null,null,null,"<RXFreq_9>","33,7"]
[null,null,null,null,null,null,"<RXMaxAudio>","",null,null,null,null,null,null,null,"<MaxAudFreq>","36,7"]
[null,null,null,null,null,null,"<RXResp_1>","",null,null,null,null,null,null,null,"<RXSIN_1>","14,8"]
[null,null,null,null,null,null,"<RXResp_2>","",null,null,null,null,null,null,null,"<RXSIN_2>","15,8"]
[null,null,null,null,null,null,"<RXResp_3>","",null,null,null,null,null,null,null,"<RXSIN_3>","16,8"]
[null,null,null,null,null,null,"<RXResp_4>","",null,null,null,null,null,null,null,"<RXSIN_4>","17,8"]
[null,null,null,null,null,null,"<RXResp_5>","",null,null,null,null,null,null,null,"<RXSIN_5>","18,8"]
[null,null,null,null,null,null,"<RXResp_6>","",null,null,null,null,null,null,null,"<RXSIN_6>","19,8"]
[null,null,null,null,null,null,"<RXResp_7>","",null,null,null,null,null,null,null,"<RXSIN_7>","20,8"]
[null,null,null,null,null,null,"<RXResp_8>","",null,null,null,null,null,null,null,"<RXSIN_8>","21,8"]
[null,null,null,null,null,null,"<RXSINStat_1>","",null,null,null,null,null,null,null,"<RXSIN_9>","22,8"]
[null,null,null,null,null,null,"<RXSINStat_2>","",null,null,null,null,null,null,null,"<RXDist_1>","25,8"]
[null,null,null,null,null,null,"<RXSINStat_3>","",null,null,null,null,null,null,null,"<RXDist_2>","26,8"]
[null,null,null,null,null,null,"<RXSINStat_4>","",null,null,null,null,null,null,null,"<RXDist_3>","27,8"]
[null,null,null,null,null,null,"<RXSINStat_5>","",null,null,null,null,null,null,null,"<RXDist_4>","28,8"]
[null,null,null,null,null,null,"<RXSINStat_6>","",null,null,null,null,null,null,null,"<RXDist_5>","29,8"]
[null,null,null,null,null,null,"<RXSINStat_7>","",null,null,null,null,null,null,null,"<RXDist_6>","30,8"]
[null,null,null,null,null,null,"<RXSINStat_8>","",null,null,null,null,null,null,null,"<RXDist_7>","31,8"]
[null,null,null,null,null,null,"<RXSINStat_9>","",null,null,null,null,null,null,null,"<RXDist_8>","32,8"]
[null,null,null,null,null,null,"<RXDistStat_1>","",null,null,null,null,null,null,null,"<RXDist_9>","33,8"]
[null,null,null,null,null,null,"<RXDistStat_2>","",null,null,null,null,null,null,null,"<RXMaxAudio>","36,8"]
[null,null,null,null,null,null,"<RXDistStat_3>","",null,null,null,null,null,null,null,"<RXResp_1>","42,8"]
[null,null,null,null,null,null,"<RXDistStat_4>","",null,null,null,null,null,null,null,"<RXResp_2>","43,8"]
[null,null,null,null,null,null,"<RXDistStat_5>","",null,null,null,null,null,null,null,"<RXResp_3>","44,8"]
[null,null,null,null,null,null,"<RXDistStat_6>","",null,null,null,null,null,null,null,"<RXResp_4>","45,8"]
[null,null,null,null,null,null,"<RXDistStat_7>","",null,null,null,null,null,null,null,"<RXResp_5>","46,8"]
[null,null,null,null,null,null,"<RXDistStat_8>","",null,null,null,null,null,null,null,"<RXResp_6>","47,8"]
[null,null,null,null,null,null,"<RXDistStat_9>","",null,null,null,null,null,null,null,"<RXResp_7>","48,8"]
[null,null,null,null,null,null,"<RXMaxAudioStat>","",null,null,null,null,null,null,null,"<RXResp_8>","49,8"]
[null,null,null,null,null,null,"<endsave>","",null,null,null,null,null,null,null,"<RXSINStat_1>","14,9"]
[null,null,null,null,null,null,"<TS_1>","",null,null,null,null,null,null,null,"<RXSINStat_2>","15,9"]
[null,null,null,null,null,null,"<TS_2>","",null,null,null,null,null,null,null,"<RXSINStat_3>","16,9"]
[null,null,null,null,null,null,"<Ts_3>","",null,null,null,null,null,null,null,"<RXSINStat_4>","17,9"]
[null,null,null,null,null,null,"<TS_4>","",null,null,null,null,null,null,null,"<RXSINStat_5>","18,9"]
[null,null,null,null,null,null,"<TS_5>","",null,null,null,null,null,null,null,"<RXSINStat_6>","19,9"]
[null,null,null,null,null,null,"<TS_6>","",null,null,null,null,null,null,null,"<RXSINStat_7>","20,9"]
[null,null,null,null,null,null,"<TS_7>","",null,null,null,null,null,null,null,"<RXSINStat_8>","21,9"]
[null,null,null,null,null,null,"<TS_8>","",null,null,null,null,null,null,null,"<RXSINStat_9>","22,9"]
[null,null,null,null,null,null,"<TS_9>","",null,null,null,null,null,null,null,"<RXDistStat_1>","25,9"]
[null,null,null,null,null,null,"<TS_10>","",null,null,null,null,null,null,null,"<RXDistStat_2>","26,9"]
[null,null,null,null,null,null,"<CHSEL_1>","",null,null,null,null,null,null,null,"<RXDistStat_3>","27,9"]
[null,null,null,null,null,null,"<CHSEL_2>","",null,null,null,null,null,null,null,"<RXDistStat_4>","28,9"]
[null,null,null,null,null,null,"<CHSEL_3>","",null,null,null,null,null,null,null,"<RXDistStat_5>","29,9"]
[null,null,null,null,null,null,"<CHSEL_4>","",null,null,null,null,null,null,null,"<RXDistStat_6>","30,9"]
[null,null,null,null,null,null,"<CHSEL_5>","",null,null,null,null,null,null,null,"<RXDistStat_7>","31,9"]
[null,null,null,null,null,null,"<CHSEL_6>","",null,null,null,null,null,null,null,"<RXDistStat_8>","32,9"]
[null,null,null,null,null,null,"<CHSEL_7>","",null,null,null,null,null,null,null,"<RXDistStat_9>","33,9"]
[null,null,null,null,null,null,"<CHSEL_8>","",null,null,null,null,null,null,null,"<RXMaxAudioStat>","36,9"]
[null,null,null,null,null,null,"<CHSEL_9>","",null,null,null,null,null,null,null,"<endsave>","63,10"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_1>","7,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_2>","8,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<Ts_3>","9,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_4>","10,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_5>","11,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_6>","12,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_7>","13,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_8>","14,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_9>","15,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<TS_10>","16,13"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_1>","20,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_2>","21,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_3>","22,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_4>","23,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_5>","24,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_6>","25,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_7>","26,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_8>","27,14"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"<CHSEL_9>","28,14"]